A cloud automation product may be used to perform cloud management operations on a cloud system. The resources and services provided by the cloud system are designed for shared usage. When certain cloud resource does not have the capacity to accommodate multiple cloud service consumers' requirements, a cloud resource constraint may occur. Other types of runtime conflicts can occur when a cloud resource (especially one not specifically designed to accommodate sharing) is concurrently accessed by different cloud service consumers. For example, when one resource pool can temporarily borrow resources from other resource pools, a runtime conflict can be triggered when the borrowed resource is not returned due to prolonged usage by the borrowing cloud service consumer.
Thus, the cloud management operations include the reserving of resources by multiple cloud service consumers, in order to reduce or eliminate issues caused by resource constraints and conflicts. Reserved resources may need to be allocated before being used by the cloud service consumers. The allocated resources may need to be de-allocated when not needed any more. Different cloud systems may have different approaches to reserve and allocate their respective cloud resources. However, there is no uniform approach to allocate or de-allocate resources from multiple different cloud systems in a consistent and extensible way.